| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| integer(kind=short), | public | :: | basic | number of basic parameters for the reference system | |||
| type(datum), | public | :: | datum | ||||
| character(len=100), | public, | ALLOCATABLE | :: | description(:) | description of the parameter (eg. zone for UTM, etc..) | ||
| type(Ellipsoid), | public | :: | ellipsoid | ||||
| integer(kind=short), | public | :: | epsg | epsg code | |||
| character(len=50), | public | :: | name | name of CRS | |||
| real(kind=FLOAT), | public, | ALLOCATABLE | :: | param(:) | required parameters for the definition of reference system | ||
| integer(kind=short), | public | :: | system | geodetic, UTM, Gaus Boaga, etc.. | 
TYPE :: CRS !common definitions to all systems INTEGER (KIND = short) :: system !! geodetic, UTM, Gaus Boaga, etc.. INTEGER (KIND = short) :: epsg !!epsg code CHARACTER (LEN = 50) :: name !!name of CRS TYPE (ellipsoid) :: ellipsoid TYPE (datum) :: datum INTEGER (KIND = short) :: basic !! number of basic parameters for the reference system !each reference system requires different parameters -> use dynamic allocation REAL (KIND = FLOAT), ALLOCATABLE :: param (:) !!required parameters for the definition of reference system CHARACTER (LEN = 100), ALLOCATABLE :: description (:) !!description of the parameter (eg. zone for UTM, etc..) END TYPE CRS